home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright © 1991-1995 by TopSoft Inc. All rights reserved.
-
- You may distribute this file under the terms of the TopSoft
- Artistic License, accompanying this package.
-
- This file was developed by George (ty) Tempel in connection with TopSoft, Inc..
- See the Modification History for more details.
-
- Product
- About Box
-
- FILE
- ABUEnv.h
-
- NAME
- ABUEnv.h, part of the ABox project source code,
- a utility class, mixed into other classes, responsible for
- handling the AboutBox environment stuff.
-
- DESCRIPTION
- This file contains defines for the about box modules.
-
- DEVELOPED BY
- George (ty) Tempel netromancr@aol.com
- All code in this file, and its associated header file was
- Created by George (ty) Tempel in connection with the TopSoft, Inc.
- "FilterTop" application development, except where noted.
-
- CARETAKER - George (ty) Tempel <netromancr@aol.com>
- Please consult this person for any changes or suggestions to this file.
-
- MODIFICATION HISTORY
-
- dd mmm yy - xxx - patchxx: description of patch
- 9 June 94 - ty - Initial Version Created
- 20-july-94 - ty - initial version released
- 23-may-95 - ty - changes for compatibility with the CodeWarrior CW6
- release and the associated Universal Headers from Apple:
- most methods that returned references now have "Ref" at
- the end of their methods names to prevent possible collisions
- with datatypes and classes of the same name (older versions
- of the compiler didn't have a problem with this).
-
- */
-
- /*===========================================================================*/
-
- /*========== Exclusion Macros ============*/
-
- #pragma once
-
- #ifndef _ABUEnv_
- #define _ABUEnv_
-
-
- /*============ Header Files ==============*/
-
- /*=========== External Linkage ===========*/
-
- /*================ Macros ================*/
-
- /*============== Constants ===============*/
-
-
- /*================ Enums =================*/
-
- /*=============== Structs ================*/
-
- /*=============== Typedefs ===============*/
-
-
- /*=========== Class Definitions ==========*/
-
- class ABUEnv
- {
- public:
- ABUEnv(void);
- virtual ~ABUEnv(void);
-
- virtual Boolean IsPresent(void);
- Boolean Feature(long mask);
- Boolean Attribute(short inBitToTest);
-
- virtual OSErr Initialize(void);
- virtual OSErr Close(void);
- virtual void CleanUp(void);
- virtual OSErr Begin(void);
- virtual OSErr End(void);
-
- Boolean WasCheckedRef(void) const { return this->CheckedRef() == true; }
- Boolean WasntCheckedRef(void) const { return ! this->WasCheckedRef(); }
-
- long GetResult(void) const { return this->ResultRef(); }
-
- protected:
- OSErr CheckGestalt(OSType inGestaltSelector);
- static Boolean GestaltAvailable(void);
- static Boolean TrapAvailable(short theTrap);
- static short NumToolboxTraps(void);
- static TrapType GetTrapType(short theTrap);
-
- Boolean mCheckedRef;
- Boolean mIndicator;
- long mResult;
-
- Boolean& CheckedRef(void) const { return this->mCheckedRef; }
- Boolean& IndicatorRef(void) const { return this->mIndicator; }
- long& ResultRef(void) const { return this->mResult; }
- void SetResult(long inResult) { this->mResult = inResult; }
- private:
- };
-
-
- /*========== Function Prototypes =========*/
-
-
- #endif // _ABUEnv_
-
-